Embodiments of the inventive concept relate generally to semiconductor memory devices. More particularly, embodiments of the inventive concept relate to flash memory devices using adaptive program verification schemes and related methods of operation.
Semiconductor memories play an important role in a wide variety of modern electronic devices, ranging from satellites to consumer products. Consequently, advances in semiconductor memory technology can lead to significant improvements in a broad range of technical applications.
Semiconductor memory devices can be roughly divided into two categories based on whether they retain stored data when disconnected from power. These categories include volatile semiconductor memory devices, which lose stored data when disconnected from power, and nonvolatile semiconductor memory devices, which retain stored data when disconnected from power. Examples of volatile memory devices include static random access memory (SRAM) devices and dynamic random access memory (DRAM) devices. Examples of nonvolatile memory devices include various types of read only memory (ROM), such as MROM, PROM, EPROM, and EEPROM.
Flash memory is a form of EEPROM that has achieved popularity in recent years. Flash memory tends to be relatively inexpensive and can provide high performance and data storage capacity compared with other forms of nonvolatile memory. In addition, flash memory is resistant to physical shock, making it especially popular for use in portable devices, such as cellular phones, digital cameras, netbook computers, and so on.
Flash memories have two common configurations, including a NOR configuration, and a NAND configuration. Flash memories having these configurations are referred to as NOR flash memories and NAND flash memories, respectively. NOR flash memories tend to provide faster access speed, but lower storage capacity, compared with NAND flash memories. Accordingly, NOR flash memories are often used to store information requiring fast access, such as code, while NAND flash memories are generally used to provide mass data storage capability for information such as multimedia information, data files, and so on.
Some flash memories are designed to store more than one bit of data per memory cell. Flash memories that store more than one bit of data per memory cell are referred to as multi-level cell (MLC) flash memories.
MLC flash memories are commonly programmed using a technique known as incremental step pulse programming (ISPP). In incremental step pulse programming, selected memory cells are programmed by a plurality of program loops, where each program loop comprises a programming execution section where program voltage is applied to a selected memory cell to modify its state, and a verification section where a verification voltage is applied to the selected memory cell to determine whether it has reached a target state. By performing program loops in this manner, selected memory cells are programmed gradually and can avoid certain types of programming errors such as over-programming.